import json
import requests

url = "http://127.0.0.1:8000"
url_api = f"{url}/test"
data = "123456"

# 测试1:
# 方法1 NG: data字符串, fastapi 默认解析为json格式
resp = requests.put(url_api, data=data.encode())

# 方法2 --OK: @app.put("/test") --> 使用json参数（自动编码为JSON）
resp = requests.put(url_api, json=data)
print(f"recv:[{resp.status_code}] {resp.text}")

# 方法3 NG: @app.put("/test") --> 使用json字典格式
resp = requests.put(url_api, json={"data": "123456"})
print(f"recv:[{resp.status_code}] {resp.text}")

# 测试2:
# 方法4 NG: 使用BaseModel 指定格式为json数据
url_api = f"{url}/test_request_str"
resp = requests.put(url_api, data=data.encode())  # NG
resp = requests.put(url_api, data=data)  # NG

data_json = {"data": data}
resp = requests.put(url_api, data=json.dumps(data_json))  # OK
resp = requests.put(url_api, json={"data": data})  # OK
print(f"recv:[{resp.status_code}] {resp.text}")
